<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">

<html><head><title>ACS_Classes - NewAC</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script><script language=JavaScript src="../../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>

<!--  Generated by Natural Docs, version 1.4 -->
<!--  http://www.naturaldocs.org  -->

<!-- saved from url=(0026)http://www.naturaldocs.org -->




<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="ACS_Classes"></a>ACS_Classes</h1><div class=CBody><p>Ancestor classes for all input and output components.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#ACS_Classes" >ACS_Classes</a></td><td class=SDescription>Ancestor classes for all input and output components.</td></tr><tr class="SClass"><td class=SEntry><a href="#TAuFileStream" >TAuFileStream</a></td><td class=SDescription>TFileStream analog that handles Unicode.</td></tr><tr class="SClass"><td class=SEntry><a href="#TAuThread" >TAuThread</a></td><td class=SDescription>Custom TThread descendant that does something.</td></tr><tr class="SClass"><td class=SEntry><a href="#TAuInput" >TAuInput</a></td><td class=SDescription>The ancestor class for all input components.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#TAuInput.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#TAuInput.GetData" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">GetData</a></td><td class=SDescription>This method retrieves input data. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#TAuInput.CopyData" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">CopyData</a></td><td class=SDescription>Writes no more than BufferSize data into Buffer</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#TAuInput.FillBuffer" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">FillBuffer</a></td><td class=SDescription>The same as <a href="#TAuInput.CopyData" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt2', 'link4')" onMouseOut="HideTip('tt2')">CopyData</a> but tries to fill the Buffer. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#TAuInput.Init" id=link5 onMouseOver="ShowTip(event, 'tt4', 'link5')" onMouseOut="HideTip('tt4')">Init</a></td><td class=SDescription>This method prepares input component for reading data. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#TAuInput.Flush" id=link6 onMouseOver="ShowTip(event, 'tt5', 'link6')" onMouseOut="HideTip('tt5')">Flush</a></td><td class=SDescription>This method closes the current input (opened with <a href="#TAuInput.Init" class=LFunction id=link7 onMouseOver="ShowTip(event, 'tt4', 'link7')" onMouseOut="HideTip('tt4')">Init</a>), clearing up all temporary structures allocated during data transfer. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#TAuInput.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TAuInput.BitsPerSample" id=link8 onMouseOver="ShowTip(event, 'tt6', 'link8')" onMouseOut="HideTip('tt6')">BitsPerSample</a></td><td class=SDescription>The number of bits per sample in the input stream. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TAuInput.Position" id=link9 onMouseOver="ShowTip(event, 'tt7', 'link9')" onMouseOut="HideTip('tt7')">Position</a></td><td class=SDescription>The current reading position in the input stream in bytes.</td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TAuInput.SampleRate" id=link10 onMouseOver="ShowTip(event, 'tt8', 'link10')" onMouseOut="HideTip('tt8')">SampleRate</a></td><td class=SDescription>The input stream sample rate in Herz.</td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TAuInput.Channels" id=link11 onMouseOver="ShowTip(event, 'tt9', 'link11')" onMouseOut="HideTip('tt9')">Channels</a></td><td class=SDescription>The number of channels in the input stream. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TAuInput.Size" id=link12 onMouseOver="ShowTip(event, 'tt10', 'link12')" onMouseOut="HideTip('tt10')">Size</a></td><td class=SDescription>A read only property which returns input data size in bytes. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TAuInput.TotalSamples" id=link13 onMouseOver="ShowTip(event, 'tt11', 'link13')" onMouseOut="HideTip('tt11')">TotalSamples</a></td><td class=SDescription>A read only property which returns number of samples (frames) in the input stream. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TAuInput.TotalTime" id=link14 onMouseOver="ShowTip(event, 'tt12', 'link14')" onMouseOut="HideTip('tt12')">TotalTime</a></td><td class=SDescription>A read only property which returns input playback time in seconds. </td></tr><tr class="SClass"><td class=SEntry><a href="#TAuOutput" >TAuOutput</a></td><td class=SDescription>The ancestor class for all output components.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#TAuOutput.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#TAuOutput.Pause" id=link15 onMouseOver="ShowTip(event, 'tt13', 'link15')" onMouseOut="HideTip('tt13')">Pause</a></td><td class=SDescription>Pauses the output.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#TAuOutput.Resume" id=link16 onMouseOver="ShowTip(event, 'tt14', 'link16')" onMouseOut="HideTip('tt14')">Resume</a></td><td class=SDescription>Resumes previously paused output.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#TAuOutput.Run" id=link17 onMouseOver="ShowTip(event, 'tt15', 'link17')" onMouseOut="HideTip('tt15')">Run</a></td><td class=SDescription>After an input component has been assigned, call Run to start the audio processing chain. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#TAuOutput.BlockingRun" id=link18 onMouseOver="ShowTip(event, 'tt16', 'link18')" onMouseOut="HideTip('tt16')">BlockingRun</a></td><td class=SDescription>In some situations, such as console programs or DUnit test units, background processing is not desirable. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#TAuOutput.Stop" id=link19 onMouseOver="ShowTip(event, 'tt17', 'link19')" onMouseOut="HideTip('tt17')">Stop</a></td><td class=SDescription>Stops the busy component or does nothing if the component is idle.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#TAuOutput.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TAuOutput.Delay" id=link20 onMouseOver="ShowTip(event, 'tt18', 'link20')" onMouseOut="HideTip('tt18')">Delay</a></td><td class=SDescription>Sets the delay, affects CPU usage.</td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TAuOutput.ThreadPriority" id=link21 onMouseOver="ShowTip(event, 'tt19', 'link21')" onMouseOut="HideTip('tt19')">ThreadPriority</a></td><td class=SDescription>This property allows you to set the priority of the output thread.</td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TAuOutput.Progress" id=link22 onMouseOver="ShowTip(event, 'tt20', 'link22')" onMouseOut="HideTip('tt20')">Progress</a></td><td class=SDescription>Read Progress to get the output progress in percents. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TAuOutput.Status" id=link23 onMouseOver="ShowTip(event, 'tt21', 'link23')" onMouseOut="HideTip('tt21')">Status</a></td><td class=SDescription>This read only property indicates the output component&rsquo;s current status. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TAuOutput.TimeElapsed" id=link24 onMouseOver="ShowTip(event, 'tt22', 'link24')" onMouseOut="HideTip('tt22')">TimeElapsed</a></td><td class=SDescription>The time in seconds that has passed since the playback was started. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TAuOutput.ExceptionMessage" id=link25 onMouseOver="ShowTip(event, 'tt23', 'link25')" onMouseOut="HideTip('tt23')">ExceptionMessage</a></td><td class=SDescription>Most exceptions that may occur during NewAC operation are suppressed. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TAuOutput.Input" id=link26 onMouseOver="ShowTip(event, 'tt24', 'link26')" onMouseOut="HideTip('tt24')">Input</a></td><td class=SDescription>This property allows you to set the input component for the output component. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TAuOutput.OnDone" id=link27 onMouseOver="ShowTip(event, 'tt25', 'link27')" onMouseOut="HideTip('tt25')">OnDone</a></td><td class=SDescription>Raised when the component has finished its job or was stopped asynchronously. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TAuOutput.OnProgress" id=link28 onMouseOver="ShowTip(event, 'tt26', 'link28')" onMouseOut="HideTip('tt26')">OnProgress</a></td><td class=SDescription>OnProgress event is raised periodically to indicate output progress. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TAuOutput.OnThreadException" id=link29 onMouseOver="ShowTip(event, 'tt27', 'link29')" onMouseOut="HideTip('tt27')">OnThreadException</a></td><td class=SDescription>This event is raised if an exception has occurred. </td></tr><tr class="SClass"><td class=SEntry><a href="#TAuStreamedInput" >TAuStreamedInput</a></td><td class=SDescription>A descendant of <a href="#TAuInput" class=LClass id=link30 onMouseOver="ShowTip(event, 'tt28', 'link30')" onMouseOut="HideTip('tt28')">TAuInput</a> to deal with streams.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#TAuStreamedInput.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#TAuStreamedInput.SeekInternal" id=link31 onMouseOver="ShowTip(event, 'tt29', 'link31')" onMouseOut="HideTip('tt29')">SeekInternal</a></td><td class=SDescription>This abstract method should be overridden with an implementation dependong on whether your input component is seekable or not. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#TAuStreamedInput.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TAuStreamedInput.EndSample" id=link32 onMouseOver="ShowTip(event, 'tt30', 'link32')" onMouseOut="HideTip('tt30')">EndSample</a></td><td class=SDescription>Set this property&rsquo;s value to the sample (frame) you want the input to stop playing at. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TAuStreamedInput.Loop" id=link33 onMouseOver="ShowTip(event, 'tt31', 'link33')" onMouseOut="HideTip('tt31')">Loop</a></td><td class=SDescription>If set to True, the input loops (i.e. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TAuStreamedInput.StartSample" id=link34 onMouseOver="ShowTip(event, 'tt32', 'link34')" onMouseOut="HideTip('tt32')">StartSample</a></td><td class=SDescription>Set this property&rsquo;s value to the sample (frame) you want the input to start playing from. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TAuStreamedInput.Seekable" id=link35 onMouseOver="ShowTip(event, 'tt33', 'link35')" onMouseOut="HideTip('tt33')">Seekable</a></td><td class=SDescription>This read only property indicates when the input is seekable.</td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TAuStreamedInput.Stream" id=link36 onMouseOver="ShowTip(event, 'tt34', 'link36')" onMouseOut="HideTip('tt34')">Stream</a></td><td class=SDescription>Use this property to set the input data stream for the input component. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#TAuStreamedInput.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#TAuStreamedInput.Seek" id=link37 onMouseOver="ShowTip(event, 'tt35', 'link37')" onMouseOut="HideTip('tt35')">Seek</a></td><td class=SDescription>This method allows you to change the current playing position in the the input component. </td></tr><tr class="SClass"><td class=SEntry><a href="#TAuStreamedOutput" >TAuStreamedOutput</a></td><td class=SDescription>A descendant of <a href="#TAuOutput" class=LClass id=link38 onMouseOver="ShowTip(event, 'tt36', 'link38')" onMouseOut="HideTip('tt36')">TAuOutput</a> to deal with streams.</td></tr><tr class="SClass"><td class=SEntry><a href="#TAuFileIn" >TAuFileIn</a></td><td class=SDescription>A descendant of <a href="#TAuStreamedInput" class=LClass id=link39 onMouseOver="ShowTip(event, 'tt37', 'link39')" onMouseOut="HideTip('tt37')">TAuStreamedInput</a> to deal with files and streams. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#TAuFileIn.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#TAuFileIn.OpenFile" id=link40 onMouseOver="ShowTip(event, 'tt38', 'link40')" onMouseOut="HideTip('tt38')">OpenFile</a></td><td class=SDescription>Opens the file or stream if it is not already open. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#TAuFileIn.CloseFile" id=link41 onMouseOver="ShowTip(event, 'tt39', 'link41')" onMouseOut="HideTip('tt39')">CloseFile</a></td><td class=SDescription>Closes the file opened with <a href="#TAuFileIn.OpenFile" class=LFunction id=link42 onMouseOver="ShowTip(event, 'tt38', 'link42')" onMouseOut="HideTip('tt38')">OpenFile</a>. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#TAuFileIn.SetStartTime" id=link43 onMouseOver="ShowTip(event, 'tt40', 'link43')" onMouseOut="HideTip('tt40')">SetStartTime</a></td><td class=SDescription>This function is a wrapper around StartSample property, provided for convenience. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#TAuFileIn.SetEndTime" id=link44 onMouseOver="ShowTip(event, 'tt41', 'link44')" onMouseOut="HideTip('tt41')">SetEndTime</a></td><td class=SDescription>This function is a wrapper around EndSample property, provided for convenience. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#TAuFileIn.Jump" >Jump</a></td><td class=SDescription>This method, being a wrapper around &lt;Seek&gt;, simpifies navigation in the input stream. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#TAuFileIn.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TAuFileIn.Valid" id=link45 onMouseOver="ShowTip(event, 'tt42', 'link45')" onMouseOut="HideTip('tt42')">Valid</a></td><td class=SDescription>Read this property to determine if the file is valid. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TAuFileIn.WideFileName" id=link46 onMouseOver="ShowTip(event, 'tt43', 'link46')" onMouseOut="HideTip('tt43')">WideFileName</a></td><td class=SDescription>Allows you to handle file names in Unicode. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TAuFileIn.Filename" >Filename</a></td><td class=SDescription>File name in 8-bit encoding. </td></tr><tr class="SClass"><td class=SEntry><a href="#TAuTaggedFileIn" >TAuTaggedFileIn</a></td><td class=SDescription>Descends from <a href="#TAuFileIn" class=LClass id=link47 onMouseOver="ShowTip(event, 'tt44', 'link47')" onMouseOut="HideTip('tt44')">TAuFileIn</a>, this class is an ancestor of the file input components that use ID3V* tags.</td></tr><tr class="SClass"><td class=SEntry><a href="#TAuFileOut" >TAuFileOut</a></td><td class=SDescription>A descendant of <a href="#TAuStreamedOutput" class=LClass id=link48 onMouseOver="ShowTip(event, 'tt45', 'link48')" onMouseOut="HideTip('tt45')">TAuStreamedOutput</a> to deal with files and streams.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#TAuFileOut.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TAuFileOut.FileMode" id=link49 onMouseOver="ShowTip(event, 'tt46', 'link49')" onMouseOut="HideTip('tt46')">FileMode</a></td><td class=SDescription>This property can take one of two values foRewrite (default) and foAppend. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TAuFileOut.WideFileName" id=link50 onMouseOver="ShowTip(event, 'tt47', 'link50')" onMouseOut="HideTip('tt47')">WideFileName</a></td><td class=SDescription>Allows you to handle file names in Unicode. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TAuFileOut.Filename" >Filename</a></td><td class=SDescription>File name in 8-bit encoding. </td></tr><tr class="SClass"><td class=SEntry><a href="#TAuTaggedFileOut" >TAuTaggedFileOut</a></td><td class=SDescription>Descends from <a href="#TAuFileOut" class=LClass id=link51 onMouseOver="ShowTip(event, 'tt48', 'link51')" onMouseOut="HideTip('tt48')">TAuFileOut</a>, this class is an ancestor of the file output components that use Id3v* tags.</td></tr><tr class="SClass"><td class=SEntry><a href="#TAuConverter" >TAuConverter</a></td><td class=SDescription>Descends from <a href="#TAuInput" class=LClass id=link52 onMouseOver="ShowTip(event, 'tt28', 'link52')" onMouseOut="HideTip('tt28')">TAuInput</a>, the base class for all converter components. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#TAuConverter.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TAuConverter.Input" id=link53 onMouseOver="ShowTip(event, 'tt49', 'link53')" onMouseOut="HideTip('tt49')">Input</a></td><td class=SDescription>Like the output components, converters can be assigned an input. </td></tr><tr class="SClass"><td class=SEntry><a href="#TAudioTap" >TAudioTap</a></td><td class=SDescription>This is the base class for all &ldquo;audio tap components&rdquo;. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#TAudioTap.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#TAudioTap.StartRecord" id=link54 onMouseOver="ShowTip(event, 'tt50', 'link54')" onMouseOut="HideTip('tt50')">StartRecord</a></td><td class=SDescription>Call this method to start recording audio data passing through an audio tap.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#TAudioTap.StopRecord" id=link55 onMouseOver="ShowTip(event, 'tt51', 'link55')" onMouseOut="HideTip('tt51')">StopRecord</a></td><td class=SDescription>Call this method to stop recording.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#TAudioTap.PauseRecord" id=link56 onMouseOver="ShowTip(event, 'tt52', 'link56')" onMouseOut="HideTip('tt52')">PauseRecord</a></td><td class=SDescription>Call this method to pause recording.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#TAudioTap.ResumeRecord" id=link57 onMouseOver="ShowTip(event, 'tt53', 'link57')" onMouseOut="HideTip('tt53')">ResumeRecord</a></td><td class=SDescription>Call this method to resume paused recording.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#TAudioTap.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TAudioTap.Status" id=link58 onMouseOver="ShowTip(event, 'tt54', 'link58')" onMouseOut="HideTip('tt54')">Status</a></td><td class=SDescription>Read this property to get the component status. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TAudioTap.WideFileName" id=link59 onMouseOver="ShowTip(event, 'tt55', 'link59')" onMouseOut="HideTip('tt55')">WideFileName</a></td><td class=SDescription>Use this proeprty to set or get the file name the data is written to in Unicode charset. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TAudioTap.FileName" id=link60 onMouseOver="ShowTip(event, 'tt56', 'link60')" onMouseOut="HideTip('tt56')">FileName</a></td><td class=SDescription>Use this proeprty to set or get the file name the data is written to in 8-bit charset. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="TAuFileStream"></a>TAuFileStream</h2><div class=CBody><p>TFileStream analog that handles Unicode.</p></div></div></div>

<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="TAuThread"></a>TAuThread</h2><div class=CBody><p>Custom TThread descendant that does something.</p></div></div></div>

<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="TAuInput"></a>TAuInput</h2><div class=CBody><p>The ancestor class for all input components.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#TAuInput.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#TAuInput.GetData" id=link61 onMouseOver="ShowTip(event, 'tt1', 'link61')" onMouseOut="HideTip('tt1')">GetData</a></td><td class=SDescription>This method retrieves input data. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#TAuInput.CopyData" id=link62 onMouseOver="ShowTip(event, 'tt2', 'link62')" onMouseOut="HideTip('tt2')">CopyData</a></td><td class=SDescription>Writes no more than BufferSize data into Buffer</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#TAuInput.FillBuffer" id=link63 onMouseOver="ShowTip(event, 'tt3', 'link63')" onMouseOut="HideTip('tt3')">FillBuffer</a></td><td class=SDescription>The same as <a href="#TAuInput.CopyData" class=LFunction id=link64 onMouseOver="ShowTip(event, 'tt2', 'link64')" onMouseOut="HideTip('tt2')">CopyData</a> but tries to fill the Buffer. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#TAuInput.Init" id=link65 onMouseOver="ShowTip(event, 'tt4', 'link65')" onMouseOut="HideTip('tt4')">Init</a></td><td class=SDescription>This method prepares input component for reading data. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#TAuInput.Flush" id=link66 onMouseOver="ShowTip(event, 'tt5', 'link66')" onMouseOut="HideTip('tt5')">Flush</a></td><td class=SDescription>This method closes the current input (opened with <a href="#TAuInput.Init" class=LFunction id=link67 onMouseOver="ShowTip(event, 'tt4', 'link67')" onMouseOut="HideTip('tt4')">Init</a>), clearing up all temporary structures allocated during data transfer. </td></tr><tr class="SGroup"><td class=SEntry><a href="#TAuInput.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TAuInput.BitsPerSample" id=link68 onMouseOver="ShowTip(event, 'tt6', 'link68')" onMouseOut="HideTip('tt6')">BitsPerSample</a></td><td class=SDescription>The number of bits per sample in the input stream. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TAuInput.Position" id=link69 onMouseOver="ShowTip(event, 'tt7', 'link69')" onMouseOut="HideTip('tt7')">Position</a></td><td class=SDescription>The current reading position in the input stream in bytes.</td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TAuInput.SampleRate" id=link70 onMouseOver="ShowTip(event, 'tt8', 'link70')" onMouseOut="HideTip('tt8')">SampleRate</a></td><td class=SDescription>The input stream sample rate in Herz.</td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TAuInput.Channels" id=link71 onMouseOver="ShowTip(event, 'tt9', 'link71')" onMouseOut="HideTip('tt9')">Channels</a></td><td class=SDescription>The number of channels in the input stream. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TAuInput.Size" id=link72 onMouseOver="ShowTip(event, 'tt10', 'link72')" onMouseOut="HideTip('tt10')">Size</a></td><td class=SDescription>A read only property which returns input data size in bytes. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TAuInput.TotalSamples" id=link73 onMouseOver="ShowTip(event, 'tt11', 'link73')" onMouseOut="HideTip('tt11')">TotalSamples</a></td><td class=SDescription>A read only property which returns number of samples (frames) in the input stream. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TAuInput.TotalTime" id=link74 onMouseOver="ShowTip(event, 'tt12', 'link74')" onMouseOut="HideTip('tt12')">TotalTime</a></td><td class=SDescription>A read only property which returns input playback time in seconds. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="TAuInput.Functions"></a>Functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAuInput.GetData"></a>GetData</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>procedure GetData(</td><td class=PParameter nowrap>var Buffer :</td><td class=PType nowrap>&nbsp;Pointer;</td></tr><tr><td></td><td class=PParameter nowrap>var Bytes :</td><td class=PType nowrap>&nbsp;LongWord</td><td class=PAfterParameters nowrap>); virtual</td></tr></table></td></tr></table></blockquote><p>This method retrieves input data.&nbsp; You specify the number of bytes you want to get, but you may get less and it should not be considered as an end of input indication.&nbsp; When the end of input is reached GetData sets Buffer to nil and Bytes to 0.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Buffer</td><td class=CDLDescription>This is the variable where GetData will put a pointer to a data buffer.&nbsp; Unlike many other data reading functions GetData doesn&rsquo;t take our buffer pointer but provides you with its own.</td></tr><tr><td class=CDLEntry>Bytes</td><td class=CDLDescription>When you call GetData you pass to Bytes the number of bytes you want to get.&nbsp; When the method returns the Bytes variable holds the number of bytes in the Buffer.</td></tr></table><h4 class=CHeading>Note</h4><p>Usually you should not call this method directly.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAuInput.CopyData"></a>CopyData</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function CopyData(</td><td class=PParameter nowrap>Buffer :</td><td class=PType nowrap>&nbsp;Pointer;</td></tr><tr><td></td><td class=PParameter nowrap>BufferSize :</td><td class=PType nowrap>&nbsp;Integer</td><td class=PAfterParameters nowrap>) : LongWord</td></tr></table></td></tr></table></blockquote><p>Writes no more than BufferSize data into Buffer</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Buffer: Pointer</td><td class=CDLDescription>the buffer to write to</td></tr><tr><td class=CDLEntry>BufferSize: Integer</td><td class=CDLDescription>the number of bytes to write</td></tr></table></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAuInput.FillBuffer"></a>FillBuffer</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function FillBuffer(</td><td class=PParameter nowrap>Buffer :</td><td class=PType nowrap>&nbsp;Pointer;</td></tr><tr><td></td><td class=PParameter nowrap>BufferSize :</td><td class=PType nowrap>&nbsp;LongWord;</td></tr><tr><td></td><td class=PParameter nowrap>var EOF :</td><td class=PType nowrap>&nbsp;Boolean</td><td class=PAfterParameters nowrap>) : LongWord</td></tr></table></td></tr></table></blockquote><p>The same as <a href="#TAuInput.CopyData" class=LFunction id=link75 onMouseOver="ShowTip(event, 'tt2', 'link75')" onMouseOut="HideTip('tt2')">CopyData</a> but tries to fill the Buffer.&nbsp; EOF is set to True if end of data was reached while filling the buffer, the buffer itself may still contain valid data.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Buffer: Pointer</td><td class=CDLDescription>the buffer to write to</td></tr><tr><td class=CDLEntry>BufferSize: Integer</td><td class=CDLDescription>the number of bytes to write</td></tr><tr><td class=CDLEntry>var EOF: Boolean</td><td class=CDLDescription>set to True if end of data was reached while filling the buffer.</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Integer</td><td class=CDLDescription>Number of bytes written</td></tr></table></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAuInput.Init"></a>Init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure Init</td></tr></table></blockquote><p>This method prepares input component for reading data.&nbsp; Usually this method is called internally by the output or converter component to which the input component is assigned.&nbsp; You can call this method if you want to get direct access to the audio stream.&nbsp; In such a case the sequence of calls should look like this.</p><blockquote><pre>InputComponent.Init;
InputComponent.GetData(...); // in a loop
InputComponent.Flush;</pre></blockquote></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAuInput.Flush"></a>Flush</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure Flush</td></tr></table></blockquote><p>This method closes the current input (opened with <a href="#TAuInput.Init" class=LFunction id=link76 onMouseOver="ShowTip(event, 'tt4', 'link76')" onMouseOut="HideTip('tt4')">Init</a>), clearing up all temporary structures allocated during data transfer.&nbsp; Usually this method is called internally by the output or converter component to which the input component is assigned.&nbsp; You can call this method if you want to get direct access to the audio stream.&nbsp; In such a case the sequence of calls should look like this.</p><blockquote><pre>InputComponent.Init;
InputComponent.GetData(...); // in a loop
InputComponent.Flush;</pre></blockquote></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="TAuInput.Properties"></a>Properties</h3></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuInput.BitsPerSample"></a>BitsPerSample</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property BitsPerSample : LongWord read GetBPS</td></tr></table></blockquote><p>The number of bits per sample in the input stream.&nbsp; Possible values are 8, 16, and 24.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuInput.Position"></a>Position</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Position : Int64 read FPosition</td></tr></table></blockquote><p>The current reading position in the input stream in bytes.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuInput.SampleRate"></a>SampleRate</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property SampleRate : LongWord read GetSR</td></tr></table></blockquote><p>The input stream sample rate in Herz.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuInput.Channels"></a>Channels</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Channels : LongWord read GetCh</td></tr></table></blockquote><p>The number of channels in the input stream.&nbsp; Possible values are 1 (mono), 2 (stereo)... and may be more.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuInput.Size"></a>Size</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Size : Int64 read FSize</td></tr></table></blockquote><p>A read only property which returns input data size in bytes.&nbsp; The value of this property becomes valid after <a href="#TAuInput.Init" class=LFunction id=link77 onMouseOver="ShowTip(event, 'tt4', 'link77')" onMouseOut="HideTip('tt4')">Init</a> has been called.&nbsp; For some inputs (like <a href="ACS_DXAudio-pas.html#TDXAudioIn" class=LClass id=link78 onMouseOver="ShowTip(event, 'tt57', 'link78')" onMouseOut="HideTip('tt57')">TDXAudioIn</a>) the data size may be not known in advance.&nbsp; In this case Size returns -1</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuInput.TotalSamples"></a>TotalSamples</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property TotalSamples : Int64 read GetTotalSamples</td></tr></table></blockquote><p>A read only property which returns number of samples (frames) in the input stream.&nbsp; TotalSamples value may be valid only if the <a href="#TAuInput.Size" class=LProperty id=link79 onMouseOver="ShowTip(event, 'tt10', 'link79')" onMouseOut="HideTip('tt10')">Size</a> of the input is known.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuInput.TotalTime"></a>TotalTime</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property TotalTime : LongWord read GetTotalTime</td></tr></table></blockquote><p>A read only property which returns input playback time in seconds.&nbsp; TotalTime value may be valid only if the <a href="#TAuInput.Size" class=LProperty id=link80 onMouseOver="ShowTip(event, 'tt10', 'link80')" onMouseOut="HideTip('tt10')">Size</a> of the input is known.</p></div></div></div>

<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="TAuOutput"></a>TAuOutput</h2><div class=CBody><p>The ancestor class for all output components.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#TAuOutput.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#TAuOutput.Pause" id=link81 onMouseOver="ShowTip(event, 'tt13', 'link81')" onMouseOut="HideTip('tt13')">Pause</a></td><td class=SDescription>Pauses the output.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#TAuOutput.Resume" id=link82 onMouseOver="ShowTip(event, 'tt14', 'link82')" onMouseOut="HideTip('tt14')">Resume</a></td><td class=SDescription>Resumes previously paused output.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#TAuOutput.Run" id=link83 onMouseOver="ShowTip(event, 'tt15', 'link83')" onMouseOut="HideTip('tt15')">Run</a></td><td class=SDescription>After an input component has been assigned, call Run to start the audio processing chain. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#TAuOutput.BlockingRun" id=link84 onMouseOver="ShowTip(event, 'tt16', 'link84')" onMouseOut="HideTip('tt16')">BlockingRun</a></td><td class=SDescription>In some situations, such as console programs or DUnit test units, background processing is not desirable. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#TAuOutput.Stop" id=link85 onMouseOver="ShowTip(event, 'tt17', 'link85')" onMouseOut="HideTip('tt17')">Stop</a></td><td class=SDescription>Stops the busy component or does nothing if the component is idle.</td></tr><tr class="SGroup"><td class=SEntry><a href="#TAuOutput.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TAuOutput.Delay" id=link86 onMouseOver="ShowTip(event, 'tt18', 'link86')" onMouseOut="HideTip('tt18')">Delay</a></td><td class=SDescription>Sets the delay, affects CPU usage.</td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TAuOutput.ThreadPriority" id=link87 onMouseOver="ShowTip(event, 'tt19', 'link87')" onMouseOut="HideTip('tt19')">ThreadPriority</a></td><td class=SDescription>This property allows you to set the priority of the output thread.</td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TAuOutput.Progress" id=link88 onMouseOver="ShowTip(event, 'tt20', 'link88')" onMouseOut="HideTip('tt20')">Progress</a></td><td class=SDescription>Read Progress to get the output progress in percents. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TAuOutput.Status" id=link89 onMouseOver="ShowTip(event, 'tt21', 'link89')" onMouseOut="HideTip('tt21')">Status</a></td><td class=SDescription>This read only property indicates the output component&rsquo;s current status. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TAuOutput.TimeElapsed" id=link90 onMouseOver="ShowTip(event, 'tt22', 'link90')" onMouseOut="HideTip('tt22')">TimeElapsed</a></td><td class=SDescription>The time in seconds that has passed since the playback was started. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TAuOutput.ExceptionMessage" id=link91 onMouseOver="ShowTip(event, 'tt23', 'link91')" onMouseOut="HideTip('tt23')">ExceptionMessage</a></td><td class=SDescription>Most exceptions that may occur during NewAC operation are suppressed. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TAuOutput.Input" id=link92 onMouseOver="ShowTip(event, 'tt24', 'link92')" onMouseOut="HideTip('tt24')">Input</a></td><td class=SDescription>This property allows you to set the input component for the output component. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TAuOutput.OnDone" id=link93 onMouseOver="ShowTip(event, 'tt25', 'link93')" onMouseOut="HideTip('tt25')">OnDone</a></td><td class=SDescription>Raised when the component has finished its job or was stopped asynchronously. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TAuOutput.OnProgress" id=link94 onMouseOver="ShowTip(event, 'tt26', 'link94')" onMouseOut="HideTip('tt26')">OnProgress</a></td><td class=SDescription>OnProgress event is raised periodically to indicate output progress. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TAuOutput.OnThreadException" id=link95 onMouseOver="ShowTip(event, 'tt27', 'link95')" onMouseOut="HideTip('tt27')">OnThreadException</a></td><td class=SDescription>This event is raised if an exception has occurred. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="TAuOutput.Functions"></a>Functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAuOutput.Pause"></a>Pause</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure Pause</td></tr></table></blockquote><p>Pauses the output.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAuOutput.Resume"></a>Resume</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure Resume</td></tr></table></blockquote><p>Resumes previously paused output.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAuOutput.Run"></a>Run</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure Run</td></tr></table></blockquote><p>After an input component has been assigned, call Run to start the audio processing chain.&nbsp; When called, Run returns at once while the actual audio processing goes on in the different thread.&nbsp; You will get <a href="#TAuOutput.OnProgress" class=LProperty id=link96 onMouseOver="ShowTip(event, 'tt26', 'link96')" onMouseOut="HideTip('tt26')">OnProgress</a> events while audio processing continues and an <a href="#TAuOutput.OnDone" class=LProperty id=link97 onMouseOver="ShowTip(event, 'tt25', 'link97')" onMouseOut="HideTip('tt25')">OnDone</a> event when the job is done.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAuOutput.BlockingRun"></a>BlockingRun</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure BlockingRun</td></tr></table></blockquote><p>In some situations, such as console programs or DUnit test units, background processing is not desirable.&nbsp; In these cases, call BlockingRun to run the output component and wait until all operations are complete before returning from the method.&nbsp; It is only fair to note that since there is no way to abort, pause, or stop the procedure once it has started, if used improperly this method can lock your program.&nbsp; If you are unsure which method to use, use the <a href="#TAuOutput.Run" class=LFunction id=link98 onMouseOver="ShowTip(event, 'tt15', 'link98')" onMouseOut="HideTip('tt15')">Run</a> method.&nbsp; Under normal circumstances, call <a href="#TAuOutput.Run" class=LFunction id=link99 onMouseOver="ShowTip(event, 'tt15', 'link99')" onMouseOut="HideTip('tt15')">Run</a> to allow audio processing to go on in the background while your application is free to respond to events.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAuOutput.Stop"></a>Stop</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>procedure Stop(</td><td class=PParameter nowrap>Async :</td><td class=PType nowrap>&nbsp;Boolean</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>True</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Stops the busy component or does nothing if the component is idle.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Async: Boolean = True</td><td class=CDLDescription>If this parameter value is set to True (the default), Stop is called in an asynchronous mode.&nbsp; In this mode the method returns at once and OnDone event is raised when output is actually finished.&nbsp; If this parameter is set to False the Stop method is called in blocking mode.&nbsp; In this mode it returns only after the output is actually done.&nbsp; No event is raised in this case.</td></tr></table></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="TAuOutput.Properties"></a>Properties</h3></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuOutput.Delay"></a>Delay</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Delay : Integer read GetDelay write SetDelay</td></tr></table></blockquote><p>Sets the delay, affects CPU usage.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuOutput.ThreadPriority"></a>ThreadPriority</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property ThreadPriority : {$IFDEF LINUX} Integer {$ENDIF} {$IFDEF WIN32} TThreadPriority {$ENDIF} read GetPriority write SetPriority</td></tr></table></blockquote><p>This property allows you to set the priority of the output thread.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuOutput.Progress"></a>Progress</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Progress : Integer read GetProgress</td></tr></table></blockquote><p>Read Progress to get the output progress in percents.&nbsp; This value is meaningful only after the input component has been set and only if the input component can tell the size of its stream.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuOutput.Status"></a>Status</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Status : TOutputStatus read GetStatus</td></tr></table></blockquote><p>This read only property indicates the output component&rsquo;s current status.&nbsp; Possible values are:</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>tosPlaying</td><td class=CDLDescription>the component is performing its task;</td></tr><tr><td class=CDLEntry>tosPaused</td><td class=CDLDescription>the component is paused (the <a href="#TAuOutput.Pause" class=LFunction id=link100 onMouseOver="ShowTip(event, 'tt13', 'link100')" onMouseOut="HideTip('tt13')">Pause</a> method was called)</td></tr><tr><td class=CDLEntry>tosIdle</td><td class=CDLDescription>the component is idle</td></tr></table></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuOutput.TimeElapsed"></a>TimeElapsed</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property TimeElapsed : Integer read GetTE</td></tr></table></blockquote><p>The time in seconds that has passed since the playback was started.&nbsp; Useful for real time components like <a href="ACS_DXAudio-pas.html#TDXAudioOut" class=LClass id=link101 onMouseOver="ShowTip(event, 'tt58', 'link101')" onMouseOut="HideTip('tt58')">TDXAudioOut</a>.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuOutput.ExceptionMessage"></a>ExceptionMessage</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property ExceptionMessage : String read FExceptionMessage</td></tr></table></blockquote><p>Most exceptions that may occur during NewAC operation are suppressed.&nbsp; If an exception occurs, the operation is stopped and the <a href="#TAuOutput.OnThreadException" class=LProperty id=link102 onMouseOver="ShowTip(event, 'tt27', 'link102')" onMouseOut="HideTip('tt27')">OnThreadException</a> event is raised.&nbsp; ExceptionMessage holds the exception text.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuOutput.Input"></a>Input</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Input : TAuInput read Finput write SetInput</td></tr></table></blockquote><p>This property allows you to set the input component for the output component.&nbsp; The valid input components must be descendants of <a href="#TAuInput" class=LClass id=link103 onMouseOver="ShowTip(event, 'tt28', 'link103')" onMouseOut="HideTip('tt28')">TAuInput</a>.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuOutput.OnDone"></a>OnDone</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property OnDone : TOutputDoneEvent read FOnDone write FOndone</td></tr></table></blockquote><p>Raised when the component has finished its job or was stopped asynchronously.&nbsp; From this event handler you can perform any action on the output component, even remove the component itself!</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuOutput.OnProgress"></a>OnProgress</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property OnProgress : TOutputProgressEvent read FOnProgress write FOnProgress</td></tr></table></blockquote><p>OnProgress event is raised periodically to indicate output progress.&nbsp; Use <a href="#TAuOutput.Progress" class=LProperty id=link104 onMouseOver="ShowTip(event, 'tt20', 'link104')" onMouseOut="HideTip('tt20')">Progress</a> property to get the progress value.&nbsp; OnProgress event is sent asynchronously and you can perform any action on the output component from the event handler.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuOutput.OnThreadException"></a>OnThreadException</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property OnThreadException : TThreadExceptionEvent read FOnThreadException write FOnThreadException</td></tr></table></blockquote><p>This event is raised if an exception has occurred.&nbsp; Exception string is stored in <a href="#TAuOutput.ExceptionMessage" class=LProperty id=link105 onMouseOver="ShowTip(event, 'tt23', 'link105')" onMouseOut="HideTip('tt23')">ExceptionMessage</a>.</p></div></div></div>

<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="TAuStreamedInput"></a>TAuStreamedInput</h2><div class=CBody><p>A descendant of <a href="#TAuInput" class=LClass id=link113 onMouseOver="ShowTip(event, 'tt28', 'link113')" onMouseOut="HideTip('tt28')">TAuInput</a> to deal with streams.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#TAuStreamedInput.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#TAuStreamedInput.SeekInternal" id=link106 onMouseOver="ShowTip(event, 'tt29', 'link106')" onMouseOut="HideTip('tt29')">SeekInternal</a></td><td class=SDescription>This abstract method should be overridden with an implementation dependong on whether your input component is seekable or not. </td></tr><tr class="SGroup"><td class=SEntry><a href="#TAuStreamedInput.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TAuStreamedInput.EndSample" id=link107 onMouseOver="ShowTip(event, 'tt30', 'link107')" onMouseOut="HideTip('tt30')">EndSample</a></td><td class=SDescription>Set this property&rsquo;s value to the sample (frame) you want the input to stop playing at. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TAuStreamedInput.Loop" id=link108 onMouseOver="ShowTip(event, 'tt31', 'link108')" onMouseOut="HideTip('tt31')">Loop</a></td><td class=SDescription>If set to True, the input loops (i.e. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TAuStreamedInput.StartSample" id=link109 onMouseOver="ShowTip(event, 'tt32', 'link109')" onMouseOut="HideTip('tt32')">StartSample</a></td><td class=SDescription>Set this property&rsquo;s value to the sample (frame) you want the input to start playing from. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TAuStreamedInput.Seekable" id=link110 onMouseOver="ShowTip(event, 'tt33', 'link110')" onMouseOut="HideTip('tt33')">Seekable</a></td><td class=SDescription>This read only property indicates when the input is seekable.</td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TAuStreamedInput.Stream" id=link111 onMouseOver="ShowTip(event, 'tt34', 'link111')" onMouseOut="HideTip('tt34')">Stream</a></td><td class=SDescription>Use this property to set the input data stream for the input component. </td></tr><tr class="SGroup"><td class=SEntry><a href="#TAuStreamedInput.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#TAuStreamedInput.Seek" id=link112 onMouseOver="ShowTip(event, 'tt35', 'link112')" onMouseOut="HideTip('tt35')">Seek</a></td><td class=SDescription>This method allows you to change the current playing position in the the input component. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="TAuStreamedInput.Functions"></a>Functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAuStreamedInput.SeekInternal"></a>SeekInternal</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function SeekInternal(</td><td class=PParameter nowrap>var SampleNum :</td><td class=PType nowrap>&nbsp;Int64</td><td class=PAfterParameters nowrap>) : Boolean; virtual; abstract</td></tr></table></td></tr></table></blockquote><p>This abstract method should be overridden with an implementation dependong on whether your input component is seekable or not.&nbsp; If your component is not seekable then you can write a method like the following.</p><blockquote><pre>function TMyComponent.SeekInternal(var SampleNum : Int64) : Boolean;
begin
  Result := False;
end;</pre></blockquote><p>If you want to make your component seekable you have to implement real seeking in this function.</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="TAuStreamedInput.Properties"></a>Properties</h3></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuStreamedInput.EndSample"></a>EndSample</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property EndSample : Int64 read FEndSample write FEndSample</td></tr></table></blockquote><p>Set this property&rsquo;s value to the sample (frame) you want the input to stop playing at.&nbsp; By default it is set to -1 which indicates &ldquo;play to the end of input.&rdquo;&nbsp; Changing this property value has an effect only when the component is idle.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuStreamedInput.Loop"></a>Loop</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Loop : Boolean read FLoop write FLoop</td></tr></table></blockquote><p>If set to True, the input loops (i.e. starts again from the beginning after it is finished).</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuStreamedInput.StartSample"></a>StartSample</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property StartSample : Int64 read FStartSample write FStartSample</td></tr></table></blockquote><p>Set this property&rsquo;s value to the sample (frame) you want the input to start playing from.&nbsp; By default it is set to 0.&nbsp; Calling the <a href="#TAuStreamedInput.Seek" class=LFunction id=link114 onMouseOver="ShowTip(event, 'tt35', 'link114')" onMouseOut="HideTip('tt35')">Seek</a> method when the component is idle has the same effect.&nbsp; Note that when you set <a href="#TAuStreamedInput.StartSample" class=LProperty id=link115 onMouseOver="ShowTip(event, 'tt32', 'link115')" onMouseOut="HideTip('tt32')">StartSample</a> and <a href="#TAuStreamedInput.EndSample" class=LProperty id=link116 onMouseOver="ShowTip(event, 'tt30', 'link116')" onMouseOut="HideTip('tt30')">EndSample</a> properties you define a subrange of the input data.&nbsp; All further operations, such as playback and &lt;Seek&gt;ing will be performed within this subrange.&nbsp; The StartSample and <a href="#TAuStreamedInput.EndSample" class=LProperty id=link117 onMouseOver="ShowTip(event, 'tt30', 'link117')" onMouseOut="HideTip('tt30')">EndSample</a> values also affect the &lt;TotalSamples&gt; and &lt;Size&gt; values, returned by the component.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuStreamedInput.Seekable"></a>Seekable</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Seekable : Boolean read FSeekable</td></tr></table></blockquote><p>This read only property indicates when the input is seekable.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuStreamedInput.Stream"></a>Stream</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Stream : TStream read FStream write SetStream</td></tr></table></blockquote><p>Use this property to set the input data stream for the input component.&nbsp; Any TStream descendant may be used as a data source.&nbsp; Note that if you set Stream, you own it, that is you have to create, destroy and position the stream explicitly.&nbsp; In TAuFileIn descendants the value assigned to this property takes over the FileName property, i. e. if both Stream and FileName properties are assigned, the stream and not the file will be used for the actual input.&nbsp; To unassign this property set it to nil.&nbsp; If the stream is seekable it will be reset to the beginning at the end of the playback.</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="TAuStreamedInput.Functions"></a>Functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAuStreamedInput.Seek"></a>Seek</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function Seek(</td><td class=PParameter nowrap>SampleNum :</td><td class=PType nowrap>&nbsp;Int64</td><td class=PAfterParameters nowrap>) : Boolean</td></tr></table></td></tr></table></blockquote><p>This method allows you to change the current playing position in the the input component.&nbsp; If the input component is stopped or paused, calling Seek sets the sample from which the playback will begin.&nbsp; Note that not all inputs are seekable.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>SampleNum</td><td class=CDLDescription>The number of sample (frame) to play from.&nbsp; This number is set relative to the value of <a href="#TAuStreamedInput.StartSample" class=LProperty id=link118 onMouseOver="ShowTip(event, 'tt32', 'link118')" onMouseOut="HideTip('tt32')">StartSample</a>.</td></tr></table><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Boolean</td><td class=CDLDescription>A False value indicates that either a seek failed (you are seeking beyond the end of file or the <a href="#TAuStreamedInput.EndSample" class=LProperty id=link119 onMouseOver="ShowTip(event, 'tt30', 'link119')" onMouseOut="HideTip('tt30')">EndSample</a> value) or that the input stream is not seekable.</td></tr></table></div></div></div>

<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="TAuStreamedOutput"></a>TAuStreamedOutput</h2><div class=CBody><p>A descendant of <a href="#TAuOutput" class=LClass id=link120 onMouseOver="ShowTip(event, 'tt36', 'link120')" onMouseOut="HideTip('tt36')">TAuOutput</a> to deal with streams.</p></div></div></div>

<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="TAuFileIn"></a>TAuFileIn</h2><div class=CBody><p>A descendant of <a href="#TAuStreamedInput" class=LClass id=link128 onMouseOver="ShowTip(event, 'tt37', 'link128')" onMouseOut="HideTip('tt37')">TAuStreamedInput</a> to deal with files and streams.&nbsp; All the components that read files descend from this class.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#TAuFileIn.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#TAuFileIn.OpenFile" id=link121 onMouseOver="ShowTip(event, 'tt38', 'link121')" onMouseOut="HideTip('tt38')">OpenFile</a></td><td class=SDescription>Opens the file or stream if it is not already open. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#TAuFileIn.CloseFile" id=link122 onMouseOver="ShowTip(event, 'tt39', 'link122')" onMouseOut="HideTip('tt39')">CloseFile</a></td><td class=SDescription>Closes the file opened with <a href="#TAuFileIn.OpenFile" class=LFunction id=link123 onMouseOver="ShowTip(event, 'tt38', 'link123')" onMouseOut="HideTip('tt38')">OpenFile</a>. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#TAuFileIn.SetStartTime" id=link124 onMouseOver="ShowTip(event, 'tt40', 'link124')" onMouseOut="HideTip('tt40')">SetStartTime</a></td><td class=SDescription>This function is a wrapper around StartSample property, provided for convenience. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#TAuFileIn.SetEndTime" id=link125 onMouseOver="ShowTip(event, 'tt41', 'link125')" onMouseOut="HideTip('tt41')">SetEndTime</a></td><td class=SDescription>This function is a wrapper around EndSample property, provided for convenience. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#TAuFileIn.Jump" >Jump</a></td><td class=SDescription>This method, being a wrapper around &lt;Seek&gt;, simpifies navigation in the input stream. </td></tr><tr class="SGroup"><td class=SEntry><a href="#TAuFileIn.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TAuFileIn.Valid" id=link126 onMouseOver="ShowTip(event, 'tt42', 'link126')" onMouseOut="HideTip('tt42')">Valid</a></td><td class=SDescription>Read this property to determine if the file is valid. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TAuFileIn.WideFileName" id=link127 onMouseOver="ShowTip(event, 'tt43', 'link127')" onMouseOut="HideTip('tt43')">WideFileName</a></td><td class=SDescription>Allows you to handle file names in Unicode. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TAuFileIn.Filename" >Filename</a></td><td class=SDescription>File name in 8-bit encoding. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="TAuFileIn.Functions"></a>Functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAuFileIn.OpenFile"></a>OpenFile</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure OpenFile; virtual; abstract</td></tr></table></blockquote><p>Opens the file or stream if it is not already open.&nbsp; For performance reasons the file is opened when any of its data is accessed the first time and is then kept open until it is done with.&nbsp; The descendants&rsquo; FileOpen implementations use the FOpened constant to check if the file is already opened.</p><h4 class=CHeading>Note</h4><p>This method is called internally by <a href="#TAuInput.Init" class=LFunction id=link129 onMouseOver="ShowTip(event, 'tt4', 'link129')" onMouseOut="HideTip('tt4')">TAuInput.Init</a>, you should never call it directly.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAuFileIn.CloseFile"></a>CloseFile</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure CloseFile; virtual; abstract</td></tr></table></blockquote><p>Closes the file opened with <a href="#TAuFileIn.OpenFile" class=LFunction id=link130 onMouseOver="ShowTip(event, 'tt38', 'link130')" onMouseOut="HideTip('tt38')">OpenFile</a>.&nbsp; Sets the FOpened constant to 0.</p><h4 class=CHeading>Note</h4><p>This method is called internally by <a href="#TAuInput.Flush" class=LFunction id=link131 onMouseOver="ShowTip(event, 'tt5', 'link131')" onMouseOut="HideTip('tt5')">TAuInput.Flush</a>, you should never call it directly.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAuFileIn.SetStartTime"></a>SetStartTime</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function SetStartTime(</td><td class=PParameter nowrap>Minutes,</td><td class=PType nowrap>&nbsp;</td></tr><tr><td></td><td class=PParameter nowrap>Seconds :</td><td class=PType nowrap>&nbsp;LongWord</td><td class=PAfterParameters nowrap>) : Boolean</td></tr></table></td></tr></table></blockquote><p>This function is a wrapper around StartSample property, provided for convenience.&nbsp; It allows you to set playback start position in minutes and seconds.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Minutes : LongWord</td><td class=CDLDescription>Minutes</td></tr><tr><td class=CDLEntry>Seconds : LongWord</td><td class=CDLDescription>Seconds</td></tr></table><h4 class=CHeading>Note</h4><blockquote><pre>SetStartTime(1, 30);</pre></blockquote><p>and</p><blockquote><pre>SetStartTime(0, 90);</pre></blockquote><p>are both allowed.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAuFileIn.SetEndTime"></a>SetEndTime</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function SetEndTime(</td><td class=PParameter nowrap>Minutes,</td><td class=PType nowrap>&nbsp;</td></tr><tr><td></td><td class=PParameter nowrap>Seconds :</td><td class=PType nowrap>&nbsp;LongWord</td><td class=PAfterParameters nowrap>) : Boolean</td></tr></table></td></tr></table></blockquote><p>This function is a wrapper around EndSample property, provided for convenience.&nbsp; It allows you to set playback stop position in minutes and seconds.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Minutes : LongWord</td><td class=CDLDescription>Minutes</td></tr><tr><td class=CDLEntry>Seconds : LongWord</td><td class=CDLDescription>Seconds</td></tr></table></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAuFileIn.Jump"></a>Jump</h3><div class=CBody><p>This method, being a wrapper around &lt;Seek&gt;, simpifies navigation in the input stream.&nbsp; Calling Jump moves you backward or forward relative to the current position.&nbsp; Jump may be called either before starting playback (in this case the playback will be started from the position specified) or during the playback.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Offs</td><td class=CDLDescription>the amount of file contents, in percent, that will be skipped.&nbsp; Positive value skips forward, negative value skips backward.</td></tr></table><p>For example calling Jump(-100) always sets the playing position at the beginning of the file.</p><h4 class=CHeading>Note</h4><p>Use &lt;Seek&gt; for more exact positioning.</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="TAuFileIn.Properties"></a>Properties</h3></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuFileIn.Valid"></a>Valid</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Valid : Boolean read GetValid</td></tr></table></blockquote><p>Read this property to determine if the file is valid.&nbsp; It is a good practice to check this property before performing other operations on audio stream.&nbsp; Note however that True returned by Valid doesn&rsquo;t guarantee the file is fully playable.&nbsp; It indicates only that the file could be opened successfully and the file headers were correct.&nbsp; This property also returns False if the decoder library required to play the file cannot be loaded.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuFileIn.WideFileName"></a>WideFileName</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property WideFileName : WideString read FWideFileName write SetWideFileName</td></tr></table></blockquote><p>Allows you to handle file names in Unicode.&nbsp; Setting its value overrides the value set to FileName.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuFileIn.Filename"></a>Filename</h3><div class=CBody><p>File name in 8-bit encoding.&nbsp; Setting this property&rsquo;s value overrides the value set to <a href="#TAuFileIn.WideFileName" class=LProperty id=link132 onMouseOver="ShowTip(event, 'tt43', 'link132')" onMouseOut="HideTip('tt43')">WideFileName</a>.</p></div></div></div>

<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="TAuTaggedFileIn"></a>TAuTaggedFileIn</h2><div class=CBody><p>Descends from <a href="#TAuFileIn" class=LClass id=link133 onMouseOver="ShowTip(event, 'tt44', 'link133')" onMouseOut="HideTip('tt44')">TAuFileIn</a>, this class is an ancestor of the file input components that use ID3V* tags.</p></div></div></div>

<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="TAuFileOut"></a>TAuFileOut</h2><div class=CBody><p>A descendant of <a href="#TAuStreamedOutput" class=LClass id=link136 onMouseOver="ShowTip(event, 'tt45', 'link136')" onMouseOut="HideTip('tt45')">TAuStreamedOutput</a> to deal with files and streams.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#TAuFileOut.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TAuFileOut.FileMode" id=link134 onMouseOver="ShowTip(event, 'tt46', 'link134')" onMouseOut="HideTip('tt46')">FileMode</a></td><td class=SDescription>This property can take one of two values foRewrite (default) and foAppend. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TAuFileOut.WideFileName" id=link135 onMouseOver="ShowTip(event, 'tt47', 'link135')" onMouseOut="HideTip('tt47')">WideFileName</a></td><td class=SDescription>Allows you to handle file names in Unicode. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TAuFileOut.Filename" >Filename</a></td><td class=SDescription>File name in 8-bit encoding. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="TAuFileOut.Properties"></a>Properties</h3></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuFileOut.FileMode"></a>FileMode</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property FileMode : TFileOutputMode read FFileMode write SetFileMode</td></tr></table></blockquote><p>This property can take one of two values foRewrite (default) and foAppend.&nbsp; In the foRewrite mode the new file overwrites the previous one (if it existed).&nbsp; In the foAppend mode the new content is added to the existing.&nbsp; Currently only <a href="ACS_Wave-pas.html#TWaveOut" class=LClass id=link137 onMouseOver="ShowTip(event, 'tt59', 'link137')" onMouseOut="HideTip('tt59')">TWaveOut</a> and <a href="ACS_Vorbis-pas.html#TVorbisOut" class=LClass id=link138 onMouseOver="ShowTip(event, 'tt60', 'link138')" onMouseOut="HideTip('tt60')">TVorbisOut</a> components support this mode.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuFileOut.WideFileName"></a>WideFileName</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property WideFileName : WideString read FWideFileName write SetWideFileName</td></tr></table></blockquote><p>Allows you to handle file names in Unicode.&nbsp; Setting its value overrides the value set to FileName.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuFileOut.Filename"></a>Filename</h3><div class=CBody><p>File name in 8-bit encoding.&nbsp; Setting this property&rsquo;s value overrides the value set to <a href="#TAuFileOut.WideFileName" class=LProperty id=link139 onMouseOver="ShowTip(event, 'tt47', 'link139')" onMouseOut="HideTip('tt47')">WideFileName</a>.</p></div></div></div>

<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="TAuTaggedFileOut"></a>TAuTaggedFileOut</h2><div class=CBody><p>Descends from <a href="#TAuFileOut" class=LClass id=link140 onMouseOver="ShowTip(event, 'tt48', 'link140')" onMouseOut="HideTip('tt48')">TAuFileOut</a>, this class is an ancestor of the file output components that use Id3v* tags.</p></div></div></div>

<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="TAuConverter"></a>TAuConverter</h2><div class=CBody><p>Descends from <a href="#TAuInput" class=LClass id=link142 onMouseOver="ShowTip(event, 'tt28', 'link142')" onMouseOut="HideTip('tt28')">TAuInput</a>, the base class for all converter components.&nbsp; Converters are laced between input and output in the audio-processing chain.&nbsp; See NewAC Introduction for more information on the converters.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#TAuConverter.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TAuConverter.Input" id=link141 onMouseOver="ShowTip(event, 'tt49', 'link141')" onMouseOut="HideTip('tt49')">Input</a></td><td class=SDescription>Like the output components, converters can be assigned an input. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="TAuConverter.Properties"></a>Properties</h3></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAuConverter.Input"></a>Input</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Input : TAuInput read FInput write SetInput</td></tr></table></blockquote><p>Like the output components, converters can be assigned an input.&nbsp; Unlike the output components converters themselves can be input sources (for output components and other converters).</p></div></div></div>

<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="TAudioTap"></a>TAudioTap</h2><div class=CBody><p>This is the base class for all &ldquo;audio tap components&rdquo;.&nbsp; Technically audio taps are converters as they sit between input and output components in the audio-processing chain.&nbsp; But audio taps do not modify audio data passing trough them.&nbsp; Instead they write everithing passing through into some audio file.</p><p>The main goal of audio tap components is to make the audio-processing chain to perform several tasks at once: record while you listen, save data at several formats simultaneously, etc.</p><p>Descends from <a href="#TAuConverter" class=LClass id=link150 onMouseOver="ShowTip(event, 'tt61', 'link150')" onMouseOut="HideTip('tt61')">TAuConverter</a>.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#TAudioTap.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#TAudioTap.StartRecord" id=link143 onMouseOver="ShowTip(event, 'tt50', 'link143')" onMouseOut="HideTip('tt50')">StartRecord</a></td><td class=SDescription>Call this method to start recording audio data passing through an audio tap.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#TAudioTap.StopRecord" id=link144 onMouseOver="ShowTip(event, 'tt51', 'link144')" onMouseOut="HideTip('tt51')">StopRecord</a></td><td class=SDescription>Call this method to stop recording.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#TAudioTap.PauseRecord" id=link145 onMouseOver="ShowTip(event, 'tt52', 'link145')" onMouseOut="HideTip('tt52')">PauseRecord</a></td><td class=SDescription>Call this method to pause recording.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#TAudioTap.ResumeRecord" id=link146 onMouseOver="ShowTip(event, 'tt53', 'link146')" onMouseOut="HideTip('tt53')">ResumeRecord</a></td><td class=SDescription>Call this method to resume paused recording.</td></tr><tr class="SGroup"><td class=SEntry><a href="#TAudioTap.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TAudioTap.Status" id=link147 onMouseOver="ShowTip(event, 'tt54', 'link147')" onMouseOut="HideTip('tt54')">Status</a></td><td class=SDescription>Read this property to get the component status. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TAudioTap.WideFileName" id=link148 onMouseOver="ShowTip(event, 'tt55', 'link148')" onMouseOut="HideTip('tt55')">WideFileName</a></td><td class=SDescription>Use this proeprty to set or get the file name the data is written to in Unicode charset. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TAudioTap.FileName" id=link149 onMouseOver="ShowTip(event, 'tt56', 'link149')" onMouseOut="HideTip('tt56')">FileName</a></td><td class=SDescription>Use this proeprty to set or get the file name the data is written to in 8-bit charset. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="TAudioTap.Functions"></a>Functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAudioTap.StartRecord"></a>StartRecord</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure StartRecord</td></tr></table></blockquote><p>Call this method to start recording audio data passing through an audio tap.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAudioTap.StopRecord"></a>StopRecord</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure StopRecord</td></tr></table></blockquote><p>Call this method to stop recording.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAudioTap.PauseRecord"></a>PauseRecord</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure PauseRecord</td></tr></table></blockquote><p>Call this method to pause recording.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TAudioTap.ResumeRecord"></a>ResumeRecord</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure ResumeRecord</td></tr></table></blockquote><p>Call this method to resume paused recording.</p></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="TAudioTap.Properties"></a>Properties</h3></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAudioTap.Status"></a>Status</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Status : TOutputStatus read GetStatus</td></tr></table></blockquote><p>Read this property to get the component status.&nbsp; The possible values are tosIdle (the component passes data through without recording), tosPlaying (the component records data) and tpsPaused.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAudioTap.WideFileName"></a>WideFileName</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property WideFileName : WideString read FWideFileName write SetWideFileName</td></tr></table></blockquote><p>Use this proeprty to set or get the file name the data is written to in Unicode charset.&nbsp; The value assigned to this prperty overrides <a href="#TAudioTap.FileName" class=LProperty id=link151 onMouseOver="ShowTip(event, 'tt56', 'link151')" onMouseOut="HideTip('tt56')">FileName</a></p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TAudioTap.FileName"></a>FileName</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property FileName : String read FFileName write SetFileName</td></tr></table></blockquote><p>Use this proeprty to set or get the file name the data is written to in 8-bit charset.&nbsp; The value assigned to this prperty overrides <a href="#TAudioTap.WideFileName" class=LProperty id=link152 onMouseOver="ShowTip(event, 'tt55', 'link152')" onMouseOut="HideTip('tt55')">WideFileName</a></p></div></div></div>

</div><!--Content-->


<div id=Footer>Content &copy; 2008 Andrei Borovsky. Design &copy; 2008 Wayne Thursby. <b><u><a href="http://symmetrica.net/newac">Go to the project's main page</a></u></b>&nbsp; &middot;&nbsp; <a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->


<div id=Menu><div class=MTitle>NewAC<div class=MSubTitle>v1.7.1</div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Documentation</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../doc/txt/introduction-txt.html">Quick Introduction to NewAC</a></div></div><div class=MEntry><div class=MFile><a href="../doc/txt/about_documentation-txt.html">About the Documentation</a></div></div><div class=MEntry><div class=MFile><a href="../doc/txt/cwguide-txt.html">Component Writer&rsquo;s Guide</a></div></div><div class=MEntry><div class=MFile><a href="../doc/txt/license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="../doc/txt/tips_and_tricks-txt.html">Tips &amp; Tricks</a></div></div><div class=MEntry><div class=MFile><a href="../doc/txt/newac-txt.html">About New Audio Components</a></div></div><div class=MEntry><div class=MFile><a href="../doc/txt/features-txt.html">NewAC Main Features List</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Main Units</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="ACS_AudioMix-pas.html">ACS_AudioMix</a></div></div><div class=MEntry><div class=MFile><a href="ACS_CDROM-pas.html">ACS_CDROM</a></div></div><div class=MEntry><div class=MFile id=MSelected>ACS_Classes</div></div><div class=MEntry><div class=MFile><a href="ACS_Converters-pas.html">ACS_Converters</a></div></div><div class=MEntry><div class=MFile><a href="ACS_DXAudio-pas.html">ACS_DXAudio</a></div></div><div class=MEntry><div class=MFile><a href="ACS_FLAC-pas.html">ACS_FLAC</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Filters-pas.html">ACS_Filters</a></div></div><div class=MEntry><div class=MFile><a href="ACS_LAME-pas.html">ACS_LAME</a></div></div><div class=MEntry><div class=MFile><a href="ACS_MAC-pas.html">ACS_MAC</a></div></div><div class=MEntry><div class=MFile><a href="ACS_MPC-pas.html">ACS_MPC</a></div></div><div class=MEntry><div class=MFile><a href="ACS_OptimFROG-pas.html">ACS_OptimFROG</a></div></div><div class=MEntry><div class=MFile><a href="ACS_smpeg-pas.html">ACS_SMPEG</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Streams-pas.html">ACS_Streams</a></div></div><div class=MEntry><div class=MFile><a href="ACS_TTA-pas.html">ACS_TTA</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Tags-pas.html">ACS_Tags</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Vorbis-pas.html">ACS_Vorbis</a></div></div><div class=MEntry><div class=MFile><a href="ACS_WavPack-pas.html">ACS_WavPack</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Wave-pas.html">ACS_Wave</a></div></div><div class=MEntry><div class=MFile><a href="ACS_WinMedia-pas.html">ACS_WinMedia</a></div></div><div class=MEntry><div class=MFile><a href="AudioDMO-pas.html">AudioDMO</a></div></div><div class=MEntry><div class=MFile><a href="AudioPass-pas.html">AudioPass</a></div></div><div class=MEntry><div class=MFile><a href="AuSampleRate-pas.html">AuSampleRate</a></div></div><div class=MEntry><div class=MFile><a href="NewAC_AVI-pas.html">NewAC_AVI</a></div></div><div class=MEntry><div class=MFile><a href="libsamplerate-pas.html">libsamplerate.pas</a></div></div><div class=MEntry><div class=MFile><a href="MACDll-pas.html">MACDll.pas</a></div></div><div class=MEntry><div class=MFile><a href="ogg-pas.html">ogg.pas</a></div></div><div class=MEntry><div class=MFile><a href="ovencode-pas.html">ovencode</a></div></div><div class=MEntry><div class=MFile><a href="VorbisEnc-pas.html">VorbisEnc.pas</a></div></div><div class=MEntry><div class=MFile><a href="VorbisFile-pas.html">VorbisFile.pas</a></div></div><div class=MEntry><div class=MFile><a href="WaveConverter-pas.html">WaveConverter.pas</a></div></div><div class=MEntry><div class=MFile><a href="WavPackDLL-pas.html">WavPackDLL</a></div></div><div class=MEntry><div class=MFile><a href="wmfintf-pas.html">wmfintf.pas</a></div></div><div class=MEntry><div class=MFile><a href="NewAC_DSP-pas.html">NewAC_DSP</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Converted C/C++ Headers</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MFile><a href="CDRip-pas.html">CDRip</a></div></div><div class=MEntry><div class=MFile><a href="Codec-pas.html">Codec</a></div></div><div class=MEntry><div class=MFile><a href="DSWrapper-pas.html">DSWrapper</a></div></div><div class=MEntry><div class=MFile><a href="FLAC-pas.html">FLAC</a></div></div><div class=MEntry><div class=MFile><a href="libwma1-pas.html">libwma1.pas</a></div></div><div class=MEntry><div class=MFile><a href="_DirectSound-pas.html">_DirectSound</a></div></div><div class=MEntry><div class=MFile><a href="_DXTypes-pas.html">_DXTypes</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Utility Units</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="ACS_Misc-pas.html">ACS_Misc</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Procs-pas.html">ACS_Procs</a></div></div><div class=MEntry><div class=MFile><a href="acs_reg-pas.html">ACS_Reg</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Types-pas.html">ACS_Types</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Tutorials</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MFile><a href="../demos/Tutorial/AudioProcessor/Main-pas.html">Audio Processor</a></div></div><div class=MEntry><div class=MFile><a href="../demos/Tutorial/ComponentsDemo/ComponentsDemo-pas.html">Components Demo</a></div></div><div class=MEntry><div class=MFile><a href="../demos/Recorders-rippers/Rip'n'listen/Main-pas.html">Rip&rsquo;n&rsquo;Listen Demo</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">DUnit</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../dunit/Test_ACS_FLAC-pas.html">ACS_FLAC TestCases</a></div></div><div class=MEntry><div class=MFile><a href="../dunit/Test_ACS_MAC-pas.html">ACS_MAC TestCases</a></div></div><div class=MEntry><div class=MFile><a href="../dunit/Test_ACS_WavPack-pas.html">ACS_WavPack TestCases</a></div></div><div class=MEntry><div class=MFile><a href="../dunit/uLog-pas.html">uLog</a></div></div><div class=MEntry><div class=MFile><a href="../dunit/uTestBase-pas.html">uTestBase</a></div></div><div class=MEntry><div class=MFile><a href="../dunit/uUtility-pas.html">uUtility</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Index</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MIndex><a href="../../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Properties.html">Properties</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Types.html">Types</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
var searchPanel = new SearchPanel("searchPanel", "HTML", "../../search");
--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Properties">Properties</option><option value="Types">Types</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
HideAllBut([2], 8);// --></script></div><!--Menu-->



<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>procedure GetData(</td><td class=PParameter nowrap>var Buffer :</td><td class=PType nowrap>&nbsp;Pointer;</td></tr><tr><td></td><td class=PParameter nowrap>var Bytes :</td><td class=PType nowrap>&nbsp;LongWord</td><td class=PAfterParameters nowrap>); virtual</td></tr></table></td></tr></table></blockquote>This method retrieves input data. </div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function CopyData(</td><td class=PParameter nowrap>Buffer :</td><td class=PType nowrap>&nbsp;Pointer;</td></tr><tr><td></td><td class=PParameter nowrap>BufferSize :</td><td class=PType nowrap>&nbsp;Integer</td><td class=PAfterParameters nowrap>) : LongWord</td></tr></table></td></tr></table></blockquote>Writes no more than BufferSize data into Buffer</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function FillBuffer(</td><td class=PParameter nowrap>Buffer :</td><td class=PType nowrap>&nbsp;Pointer;</td></tr><tr><td></td><td class=PParameter nowrap>BufferSize :</td><td class=PType nowrap>&nbsp;LongWord;</td></tr><tr><td></td><td class=PParameter nowrap>var EOF :</td><td class=PType nowrap>&nbsp;Boolean</td><td class=PAfterParameters nowrap>) : LongWord</td></tr></table></td></tr></table></blockquote>The same as CopyData but tries to fill the Buffer. </div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure Init</td></tr></table></blockquote>This method prepares input component for reading data. </div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure Flush</td></tr></table></blockquote>This method closes the current input (opened with Init), clearing up all temporary structures allocated during data transfer. </div></div><div class=CToolTip id="tt6"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property BitsPerSample : LongWord read GetBPS</td></tr></table></blockquote>The number of bits per sample in the input stream. </div></div><div class=CToolTip id="tt7"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Position : Int64 read FPosition</td></tr></table></blockquote>The current reading position in the input stream in bytes.</div></div><div class=CToolTip id="tt8"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property SampleRate : LongWord read GetSR</td></tr></table></blockquote>The input stream sample rate in Herz.</div></div><div class=CToolTip id="tt9"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Channels : LongWord read GetCh</td></tr></table></blockquote>The number of channels in the input stream. </div></div><div class=CToolTip id="tt10"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Size : Int64 read FSize</td></tr></table></blockquote>A read only property which returns input data size in bytes. </div></div><div class=CToolTip id="tt11"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property TotalSamples : Int64 read GetTotalSamples</td></tr></table></blockquote>A read only property which returns number of samples (frames) in the input stream. </div></div><div class=CToolTip id="tt12"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property TotalTime : LongWord read GetTotalTime</td></tr></table></blockquote>A read only property which returns input playback time in seconds. </div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure Pause</td></tr></table></blockquote>Pauses the output.</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure Resume</td></tr></table></blockquote>Resumes previously paused output.</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure Run</td></tr></table></blockquote>After an input component has been assigned, call Run to start the audio processing chain. </div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure BlockingRun</td></tr></table></blockquote>In some situations, such as console programs or DUnit test units, background processing is not desirable. </div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>procedure Stop(</td><td class=PParameter nowrap>Async :</td><td class=PType nowrap>&nbsp;Boolean</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>True</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Stops the busy component or does nothing if the component is idle.</div></div><div class=CToolTip id="tt18"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Delay : Integer read GetDelay write SetDelay</td></tr></table></blockquote>Sets the delay, affects CPU usage.</div></div><div class=CToolTip id="tt19"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property ThreadPriority : {$IFDEF LINUX} Integer {$ENDIF} {$IFDEF WIN32} TThreadPriority {$ENDIF} read GetPriority write SetPriority</td></tr></table></blockquote>This property allows you to set the priority of the output thread.</div></div><div class=CToolTip id="tt20"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Progress : Integer read GetProgress</td></tr></table></blockquote>Read Progress to get the output progress in percents. </div></div><div class=CToolTip id="tt21"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Status : TOutputStatus read GetStatus</td></tr></table></blockquote>This read only property indicates the output component&rsquo;s current status. </div></div><div class=CToolTip id="tt22"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property TimeElapsed : Integer read GetTE</td></tr></table></blockquote>The time in seconds that has passed since the playback was started. </div></div><div class=CToolTip id="tt23"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property ExceptionMessage : String read FExceptionMessage</td></tr></table></blockquote>Most exceptions that may occur during NewAC operation are suppressed. </div></div><div class=CToolTip id="tt24"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Input : TAuInput read Finput write SetInput</td></tr></table></blockquote>This property allows you to set the input component for the output component. </div></div><div class=CToolTip id="tt25"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property OnDone : TOutputDoneEvent read FOnDone write FOndone</td></tr></table></blockquote>Raised when the component has finished its job or was stopped asynchronously. </div></div><div class=CToolTip id="tt26"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property OnProgress : TOutputProgressEvent read FOnProgress write FOnProgress</td></tr></table></blockquote>OnProgress event is raised periodically to indicate output progress. </div></div><div class=CToolTip id="tt27"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property OnThreadException : TThreadExceptionEvent read FOnThreadException write FOnThreadException</td></tr></table></blockquote>This event is raised if an exception has occurred. </div></div><div class=CToolTip id="tt28"><div class=CClass>The ancestor class for all input components.</div></div><div class=CToolTip id="tt29"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function SeekInternal(</td><td class=PParameter nowrap>var SampleNum :</td><td class=PType nowrap>&nbsp;Int64</td><td class=PAfterParameters nowrap>) : Boolean; virtual; abstract</td></tr></table></td></tr></table></blockquote>This abstract method should be overridden with an implementation dependong on whether your input component is seekable or not. </div></div><div class=CToolTip id="tt30"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property EndSample : Int64 read FEndSample write FEndSample</td></tr></table></blockquote>Set this property&rsquo;s value to the sample (frame) you want the input to stop playing at. </div></div><div class=CToolTip id="tt31"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Loop : Boolean read FLoop write FLoop</td></tr></table></blockquote>If set to True, the input loops (i.e. </div></div><div class=CToolTip id="tt32"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property StartSample : Int64 read FStartSample write FStartSample</td></tr></table></blockquote>Set this property&rsquo;s value to the sample (frame) you want the input to start playing from. </div></div><div class=CToolTip id="tt33"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Seekable : Boolean read FSeekable</td></tr></table></blockquote>This read only property indicates when the input is seekable.</div></div><div class=CToolTip id="tt34"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Stream : TStream read FStream write SetStream</td></tr></table></blockquote>Use this property to set the input data stream for the input component. </div></div><div class=CToolTip id="tt35"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function Seek(</td><td class=PParameter nowrap>SampleNum :</td><td class=PType nowrap>&nbsp;Int64</td><td class=PAfterParameters nowrap>) : Boolean</td></tr></table></td></tr></table></blockquote>This method allows you to change the current playing position in the the input component. </div></div><div class=CToolTip id="tt36"><div class=CClass>The ancestor class for all output components.</div></div><div class=CToolTip id="tt37"><div class=CClass>A descendant of TAuInput to deal with streams.</div></div><div class=CToolTip id="tt38"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure OpenFile; virtual; abstract</td></tr></table></blockquote>Opens the file or stream if it is not already open. </div></div><div class=CToolTip id="tt39"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure CloseFile; virtual; abstract</td></tr></table></blockquote>Closes the file opened with OpenFile. </div></div><div class=CToolTip id="tt40"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function SetStartTime(</td><td class=PParameter nowrap>Minutes,</td><td class=PType nowrap>&nbsp;</td></tr><tr><td></td><td class=PParameter nowrap>Seconds :</td><td class=PType nowrap>&nbsp;LongWord</td><td class=PAfterParameters nowrap>) : Boolean</td></tr></table></td></tr></table></blockquote>This function is a wrapper around StartSample property, provided for convenience. </div></div><div class=CToolTip id="tt41"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function SetEndTime(</td><td class=PParameter nowrap>Minutes,</td><td class=PType nowrap>&nbsp;</td></tr><tr><td></td><td class=PParameter nowrap>Seconds :</td><td class=PType nowrap>&nbsp;LongWord</td><td class=PAfterParameters nowrap>) : Boolean</td></tr></table></td></tr></table></blockquote>This function is a wrapper around EndSample property, provided for convenience. </div></div><div class=CToolTip id="tt42"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Valid : Boolean read GetValid</td></tr></table></blockquote>Read this property to determine if the file is valid. </div></div><div class=CToolTip id="tt43"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property WideFileName : WideString read FWideFileName write SetWideFileName</td></tr></table></blockquote>Allows you to handle file names in Unicode. </div></div><div class=CToolTip id="tt44"><div class=CClass>A descendant of TAuStreamedInput to deal with files and streams. </div></div><div class=CToolTip id="tt45"><div class=CClass>A descendant of TAuOutput to deal with streams.</div></div><div class=CToolTip id="tt46"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property FileMode : TFileOutputMode read FFileMode write SetFileMode</td></tr></table></blockquote>This property can take one of two values foRewrite (default) and foAppend. </div></div><div class=CToolTip id="tt47"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property WideFileName : WideString read FWideFileName write SetWideFileName</td></tr></table></blockquote>Allows you to handle file names in Unicode. </div></div><div class=CToolTip id="tt48"><div class=CClass>A descendant of TAuStreamedOutput to deal with files and streams.</div></div><div class=CToolTip id="tt49"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Input : TAuInput read FInput write SetInput</td></tr></table></blockquote>Like the output components, converters can be assigned an input. </div></div><div class=CToolTip id="tt50"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure StartRecord</td></tr></table></blockquote>Call this method to start recording audio data passing through an audio tap.</div></div><div class=CToolTip id="tt51"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure StopRecord</td></tr></table></blockquote>Call this method to stop recording.</div></div><div class=CToolTip id="tt52"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure PauseRecord</td></tr></table></blockquote>Call this method to pause recording.</div></div><div class=CToolTip id="tt53"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>procedure ResumeRecord</td></tr></table></blockquote>Call this method to resume paused recording.</div></div><div class=CToolTip id="tt54"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Status : TOutputStatus read GetStatus</td></tr></table></blockquote>Read this property to get the component status. </div></div><div class=CToolTip id="tt55"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property WideFileName : WideString read FWideFileName write SetWideFileName</td></tr></table></blockquote>Use this proeprty to set or get the file name the data is written to in Unicode charset. </div></div><div class=CToolTip id="tt56"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property FileName : String read FFileName write SetFileName</td></tr></table></blockquote>Use this proeprty to set or get the file name the data is written to in 8-bit charset. </div></div><div class=CToolTip id="tt57"><div class=CClass>Performs audio recording from a sound card using the DirectX API. </div></div><div class=CToolTip id="tt58"><div class=CClass>Performs audio playback using the DirectX API. </div></div><div class=CToolTip id="tt59"><div class=CClass>Wave file encoder. </div></div><div class=CToolTip id="tt60"><div class=CClass>The Ogg Vorbis encoder component. </div></div><div class=CToolTip id="tt61"><div class=CClass>Descends from TAuInput, the base class for all converter components. </div></div><!--END_ND_TOOLTIPS-->




<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>


<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>